<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <script>
        /*
                   /***
            * js本身不是正统(Java,C++)的面向对象的语言
            * js是面向原型的语言(js中面向对象--面向原型)
            
            * 1.构造函数
            *   作用:创建对象的
            *   细节:
            *     1)构造函数首字母大写
            *     2)只有通过new关键字调用的函数,这个函数才是构造函数
            
            * 2.为什么new一下就能产生对象,new到底做了什么?(面试通)
                -创建一个新的对象
                -让函数内部的this指向这个新的对象
                -执行这个构造函数(把内部的属性添加到对象中)
                -返回新对象
        * /
                */

        function Person(name, age, sex) {
            this.name = name
            this.age = age
            this.sex = sex
                // return this
        }

        // Person()

        const p1 = new Person('张三', 18, '男')
        console.log(p1)

        const p2 = new Person('李四', 20, '女')
        console.log(p2)
    </script>
</body>

</html>